package com.aterrizar.persistencia.servicios;

import java.util.List;

import org.hibernate.criterion.Restrictions;

import com.aterrizar.dominio.reservacion.asientos.Asiento;
import com.aterrizar.dominio.reservacion.asientos.estado.EstadoDeAsiento;
import com.aterrizar.dominio.reservacion.viajes.Tramo;
import com.aterrizar.persistencia.daos.SessionManager;
import com.aterrizar.persistencia.daos.TramoDAO;

public class AsientosLibresDeTramo implements Operation<List<Asiento>> {
	
	private Integer idTramo;
	
	public AsientosLibresDeTramo(Integer idTramo){
		this.idTramo=idTramo;
	}

	public List<Asiento> execute() {
		Tramo t = new TramoDAO().get(idTramo);
		return SessionManager.getSession().createCriteria(Asiento.class)
				.add(Restrictions.eq("tramo", t))
				.add(Restrictions.eq("estado", EstadoDeAsiento.LIBRE))
				.list();
	}

}
